Gringarten, A.C., Witherspoon, P.A., Ohnishi, Y., 1975. Theory of heat extraction from fractured hot dry rock. J. Geophys. Res. 80, 1120–1124.
It is a marvel of compact, majestic writing on a complicated subject. In this regard, I would put it right up there with Backus (1962) 'LongWave Elastic Anisotropy Produced by Horizontal Layering'.
Anyway, the Gringarten type curve theory describes heat extraction by produced fluid moving through a set of equally spaced vertical fractures using dimensionless (D) time, temperature, fracture spacing, and other quantities. Most applications come down to Gringarten equation A19 (below) which is the D temperature in the D time Laplace transform domain. This can be coded up and inverted in python using the mpmath.invertlaplace() function.
The result is Gringarten's figure 3 (below). The variable zD is D depth defined by zD=z/H where z is the vertical coordinate measured from the base of the fracture and H is fracture height. The paper says fluid injection is at the base of the fracture and fluid production is at the top, so naturally zD=1.
But in fact fig 3 can only be reproduced using zD=2. This vexed me greatly. I endlessly studied the original paper and the latest Fervo Energy Cape Station paper from the 2025 Stanford Geothermal Workshop which updated Gringarten to modern EGS well completion methods, but did not solve this problem.
Ultimately, the answer was in the original paper. Equation A8 indeed defines zD=z/H, but it is states above that 'H is an arbitrary length', not the fracture height as I assumed. In fact, z is the fracture height and H is arbitrary. Using zD=2 implies H=z/2 and when these are used in equation A19, eureka! We get fig 3. Of course I should have figured this out months ago. Ugh. Mike Eros this is what I was trying to explain when you visited earlier this year.
![]() |
Gringarten et al. (1975) equation A19 and Figure 3. |
![]() |
My version of figure 3 (using my notation) |